package by.pavlyukevich.paymentsystem.dataaccess;

import java.util.List;

import by.pavlyukevich.paymentsystem.dataaccess.filter.Filter;

public interface AbstractDao<ID, Entity extends Object> {

	Entity getById(ID id);

	void delete(ID key);

	void deleteAll();

	void delete(List<ID> ids);

	Entity insert(Entity entity);

	Entity update(Entity entity);

	List<Entity> getList(Filter<Entity> Filter);

	long getCount(Filter<Entity> Filter);
}
